課程資訊
課程名稱
程式設計
Programming Design 
開課學期
107-2 
授課對象
管理學院  科技管理組  
授課教師
邱奕鵬 
課號
BA1009 
課程識別碼
701 20900 
班次
 
學分
3.0 
全/半年
半年 
必/選修
必帶 
上課時間
星期二6,7,8,9(13:20~17:20) 
上課地點
新402 
備註
本課程中文授課,使用英文教科書。星期二第89堂安排電腦實習
限本系所學生(含輔系、雙修生)
總人數上限:69人 
Ceiba 課程網頁
http://ceiba.ntu.edu.tw/1072BA1009_ 
課程簡介影片
 
核心能力關聯
核心能力與課程規劃關聯圖
課程大綱
為確保您我的權利,請尊重智慧財產權及不得非法影印
課程概述

Chapter 1: Introduction to Computers
Chapter 2: Introduction to C++ Programming
Chapter 3: Control Statements: Part I
Chapter 4: Control Statements: Part II
Chapter 5: Functions and Introduction to Recursion
Chapter 6: Arrays and Vectors
Chapter 7: Pointers
Chapter 8: Sequential-Access Files
Chapter 9: Classes
Chapter 10: Classes: A Deeper Look
Chapter 11: Operator Overloading
Chapter 12: Object-Oriented Programming: Inheritance
Chapter 13: Object-Oriented Programming: Polymorphism
Chapter 14: Templates
Chapter 15: Stream Input/Output

 

課程目標
Programming basics using C++ 
課程要求
 
預期每週課後學習時數
 
Office Hours
 
指定閱讀
C++ How to Program - Late Objects Version, 7th. Ed., P. Deitel and H. Deitel, Pearson, 2011 (歐亞代理) 
參考書目
程式開發工具 Development Tools
1. Microsoft Visual Studio (2005, 2008, or 2010)
Download from NTU CC
2. Microsoft free Visual C++ Express Ed.
http://www.microsoft.com/express/
3. Bloodshed Dev C++
http://www.bloodshed.net/devcpp.html
4. GNU C++
http://www.gcc.gnu.ord/install/binaries.html/
 
評量方式
(僅供參考)
   
課程進度
週次
日期
單元主題
第1週
02/19  Introduction
Chapter 1 Introduction to Computers
Chapter 2 Introduction to C++ Programming

TIOBE Index for February 2019
https://www.tiobe.com/tiobe-index/

Jeremy Howard imagines how advanced machine learning can improve our lives (2014):
http://www.ted.com/talks/jeremy_howard_the_wonderful_and_terrifying_implications_of_computers_that_can_learn#t-36565
Google AI can predict heart disease by looking at pictures of the retina (2018)
https://techxplore.com/news/2018-02-google-ai-heart-disease-pictures.html

李開復 2017/06/04 台灣大學畢業演講
https://www.facebook.com/kaifulee/videos/1698823373478307/
王道維觀點:電腦的深度學習,人性的深刻困局
http://www.storm.mg/article/401682
 
第2週
02/26  Chapter 2 Introduction to C++ Programming
Chapter 3 Control Statements: Part I 
第3週
03/05  Chapter 3 Control Statements: Part I 
第4週
03/12  Chapter 3 Control Statements: Part I
認識大家(點名)
Chapter 4 Control Statements: Part II 
第5週
03/19  小考
Chapter 4 Control Statements: Part II  
第6週
03/26  File Input and Output

Chapter 4 Control Statements: Part II

Chapter 5 Functions and an Introduction to Recursion 
第7週
04/02  溫書假 
第8週
04/09  Chapter 5 Functions and an Introduction to Recursion

http://math.ntnu.edu.tw/~min/Fortran/mid_90_problem.html 
第9週
04/16  Chapter 5 Functions and an Introduction to Recursion

上機小考 
第10週
04/23  期中考 
第11週
04/30  Chapter 5 Functions and an Introduction to Recursion

河內塔: http://www.novelgames.com/zh-HK/tower/

Chapter 6 Arrays and Vectors 
第12週
05/07  Chapter 6 Arrays and Vectors

Google duplex demo
https://www.youtube.com/watch?v=bd1mEm2Fy08 
第13週
05/14  Chapter 6 Arrays and Vectors
Chapter 7 Pointers 
第14週
05/21  Chapter 7 Pointers

數值運算:書名: Numerical Recipes 
第15週
05/28  Chapter 8 Sequential-Access Files 
第16週
06/04  小考:到 Chapter 7

Dynamic Array:
C++ style
http://www.cplusplus.com/doc/tutorial/dynamic/
C style
http://www.cplusplus.com/reference/cstdlib/malloc/


Chapter 8 Sequential-Access Files

Chapter 9 Classes 
第17週
06/11  Chapter 9 Classes 
第18週
6/18  期末考 
第20週
  PPT Chapter 22-27